home *** CD-ROM | disk | FTP | other *** search
- // this function verifies disk space in kilobytes
- function verifyDiskSpace (dirPath, spaceRequired) {
- var spaceAvailable;
-
- // Get the available disk space on the given path
- spaceAvailable = fileGetDiskSpaceAvailable(dirPath);
-
- // Convert the available disk space into kilobytes
- spaceAvailable = parseInt(spaceAvailable / 1024);
-
- // do the verification
- if (spaceAvailable < spaceRequired) {
- logComment ("Insufficient disc space: " + dirPath);
- logComment (" required : " + spaceRequired + " kB");
- logComment (" available: " + spaceAvailable + " kB");
- return (false);
- }
- return (true);
- }
-
- // this function deletes a file if it exists
- function deleteThisFile (dirKey, file) {
- var fFileToDelete;
-
- fFileToDelete = getFolder (dirKey, file);
- logComment ("File to delete: " + fFileToDelete);
- if (File.isFile (fFileToDelete)) {
- File.remove(fFileToDelete);
- return (true);
- }
- return (false);
- }
-
- // this function deletes a folder if it exists
- function deleteThisFolder (dirKey, folder, recursiveDelete) {
- var fToDelete;
-
- if (typeof recursiveDelete == "undefined")
- recursiveDelete = true;
-
- fToDelete = getFolder (dirKey, folder);
- logComment ("folder to delete: " + fToDelete);
- if (File.isDirectory(fToDelete)) {
- File.dirRemove (fToDelete, recursiveDelete);
- return (true);
- }
- return (false);
- }
-
- // OS type detection
- // which platform?
- function getPlatform() {
- var platformStr;
- var platformNode;
-
- if ('platform' in Install) {
- platformStr = new String (Install.platform);
-
- if (!platformStr.search(/^Macintosh/)) {
- platformNode = 'mac';
- } else if (!platformStr.search(/^Win/)) {
- platformNode = 'win';
- } else if (!platformStr.search(/^OS\/2/)) {
- platformNode = 'win';
- } else {
- platformNode = 'unix';
- }
- } else {
- var fOSMac = getFolder ("Mac System");
- var fOSWin = getFolder ("Win System");
-
- logComment ("fOSMac: " + fOSMac);
- logComment ("fOSWin: " + fOSWin);
-
- if (fOSMac != null) {
- platformNode = 'mac';
- } else if (fOSWin != null) {
- platformNode = 'win';
- } else {
- platformNode = 'unix';
- }
- }
- return platformNode;
- }
-
- // main - Consolidated Language & Region Pack
- var srDest;
- var err;
- var fProgram;
- var platformNode;
-
- var searchPlugins = "searchplugins";
- platformNode = getPlatform();
- logComment("initInstall: platformNode=" + platformNode);
-
- if (platformNode == 'mac') {
- searchPlugins = "Search Plugins";
- }
-
- // end
- // end - OS type detection
-
- // ----LOCALIZATION NOTE: translate only these ------
- var prettyName = "British English Language and Region Pack";
- var langcode = "en";
- var regionNode = "GB";
- var chromeNode = langcode + "-" + regionNode;
- // --- END CHANGEABLE STUFF ---
- var regName = "locales/mozilla/" + chromeNode;
- var chromeName = chromeNode + ".jar";
- var platformName = chromeNode + "-" + platformNode + ".jar";
- var regionJar = regionNode + ".jar";
- var localeName = "locale/" + chromeNode + "/";
- var regionName = "locale/" + regionNode + "/";
-
- srDest = 2209;
- err = initInstall (prettyName, regName, "1.1.0.2007010812");
- logComment ("initInstall: " + err);
-
- fProgram = getFolder ("Program");
- logComment ("fProgram: " + fProgram);
-
- if (verifyDiskSpace (fProgram, srDest)) {
- var chromeType = LOCALE;
- var fTarget;
- // Add JARs to installed SM
- err = addDirectory ("",
- "bin", // dir name in jar to extract
- fProgram, // Where to put this file (Returned from GetFolder)
- ""); // Force Flag
- logComment ("addDirectory() returned: " + err);
-
- // Add rest of Region Pack to installed SM
- if (err == SUCCESS) {
- fTarget = getFolder ("Program", "defaults");
- logComment ("fTarget: " + fTarget);
- err = addDirectory ("",
- "reg/defaults", // dir name in jar to extract
- fTarget, // Where to put this file (Returned from GetFolder)
- ""); // subdir name to create relative to fProgram
- logComment ("addDirectory() returned: " + err);
- if (err == SUCCESS) {
- fTarget = getFolder ("Program", searchPlugins);
- logComment ("fTarget: " + fTarget);
- err = addDirectory ("",
- "reg/searchplugins", // dir name in jar to extract
- fTarget, // Where to put this file (Returned from GetFolder)
- ""); // subdir name to create relative to fProgram
- logComment ("addDirectory() returned: " + err);
- }
- }
-
- if (err != SUCCESS) {
- logComment ("addDirectory() to " + fProgram + "failed!");
- // couldn't install globally, try installing to the profile
- resetError();
- chromeType |= PROFILE_CHROME;
- fProgram = getFolder ("Profile");
- logComment ("try installing to the user profile:" + fProgram);
- err = addDirectory ("","bin",fProgram,"");
- }
-
- setPackageFolder (fProgram);
-
- // check return value
- if (err == SUCCESS) {
- // register chrome
- var cf = getFolder(fProgram, "chrome/"+chromeName);
- var pf = getFolder(fProgram, "chrome/"+platformName);
- var rf = getFolder(fProgram, "chrome/"+regionJar);
-
- registerChrome(chromeType, rf, regionName + "global-region/");
- registerChrome(chromeType, rf, regionName + "communicator-region/");
- registerChrome(chromeType, rf, regionName + "editor-region/");
- registerChrome(chromeType, rf, regionName + "messenger-region/");
- registerChrome(chromeType, rf, regionName + "navigator-region/");
-
- registerChrome(chromeType, cf, localeName + "global/");
- registerChrome(chromeType, cf, localeName + "communicator/");
- registerChrome(chromeType, cf, localeName + "branding/");
-
- registerChrome(chromeType, cf, localeName + "messenger/");
- registerChrome(chromeType, cf, localeName + "messenger-smime/");
-
- registerChrome(chromeType, cf, localeName + "editor/");
- registerChrome(chromeType, cf, localeName + "navigator/");
- registerChrome(chromeType, cf, localeName + "necko/");
- registerChrome(chromeType, cf, localeName + "mozldap/");
- registerChrome(chromeType, cf, localeName + "autoconfig/");
- registerChrome(chromeType, cf, localeName + "cookie/");
- registerChrome(chromeType, cf, localeName + "wallet/");
- registerChrome(chromeType, cf, localeName + "content-packs/");
- registerChrome(chromeType, cf, localeName + "help/");
- registerChrome(chromeType, cf, localeName + "pippki/");
- registerChrome(chromeType, cf, localeName + "pipnss/");
- registerChrome(chromeType, cf, localeName + "p3p/");
-
- registerChrome(chromeType, cf, localeName + "reporter/");
- registerChrome(chromeType, cf, localeName + "chatzilla/");
- registerChrome(chromeType, cf, localeName + "inspector/");
- registerChrome(chromeType, cf, localeName + "venkman/");
- registerChrome(chromeType, cf, localeName + "sroaming/");
-
- registerChrome(chromeType, pf, localeName + "global-platform/");
- registerChrome(chromeType, pf, localeName + "communicator-platform/");
- registerChrome(chromeType, pf, localeName + "navigator-platform/");
- // messenger-mapi package exists only on windows.
- // Register this package only for windows.
- if (platformNode == "win")
- registerChrome(chromeType, cf, localeName + "messenger-mapi/");
-
- err = performInstall();
- logComment("performInstall() returned: " + err);
- } else {
- cancelInstall(err);
- logComment("cancelInstall due to error: " + err);
- }
- } else {
- cancelInstall(INSUFFICIENT_DISK_SPACE);
- }
- // end main
-